<template>
	<div>
		<h1>商品详情</h1>
		<van-card
		num="1"
		:price="detailObj.pprice" 
		:desc="detailObj.pdesc" 
		:title="detailObj.pname" 
		:thumb="detailObj.pimg"
		class="cart-list">
			<div slot="tags" class="cart-tag">
				<van-tag>拼色</van-tag>
				<van-button type="primary" size="small"  @click="see">查看规格</van-button>
			</div>
		</van-card>
		
		<van-sku
		  v-model="show"
		  :sku="sku"
		  :goods="goods"
		  :goods-id="pid"
		  :quota="quota"
		  :quota-used="quotaUsed"
		  :hide-stock="sku.hide_stock"
		  :message-config="messageConfig"
		  @buy-clicked="onBuyClicked"
		  @add-cart="onAddCartClicked"
		/>
	</div>
</template>

<script>
	import {mapState} from "vuex"
	export default{
		name:"GoodsDetail",
		 data() {
		    return {
		      show: false,
			  quota:0,
			  quotaUsed:0,
			  
		      sku: {
		        tree: [
		            {
		              k: '颜色', // skuKeyName：规格类目名称
		              v: [
		                {
		                  id: '30349', // skuValueId：规格值 id
		                  name: '红色', // skuValueName：规格值名称
		                  imgUrl: '', // 规格类目图片，只有第一个规格类目可以定义图片
		                  previewImgUrl: 'https://img.yzcdn.cn/1p.jpg', // 用于预览显示的规格类目图片
		                },
		                {
		                  id: '1215',
		                  name: '蓝色',
		                  imgUrl: 'https://img.yzcdn.cn/2.jpg',
		                  previewImgUrl: 'https://img.yzcdn.cn/2p.jpg',
		                }
		              ],
		              k_s: 's1' // skuKeyStr：sku 组合列表（下方 list）中当前类目对应的 key 值，value 值会是从属于当前类目的一个规格值 id
		            }
		          ],
		          // 所有 sku 的组合列表，比如红色、M 码为一个 sku 组合，红色、S 码为另一个组合
		          list: [
		            {
		              id: 2259, // skuId，下单时后端需要
		              price: 100, // 价格（单位分）
		              s1: '1215', // 规格类目 k_s 为 s1 的对应规格值 id
		              s2: '1193', // 规格类目 k_s 为 s2 的对应规格值 id
		              s3: '0', // 最多包含3个规格值，为0表示不存在该规格
		              stock_num: 110 // 当前 sku 组合对应的库存
		            }
		          ],
		          price: '1.00', // 默认价格（单位元）
		          stock_num: 227, // 商品总库存
		          collection_id: 2261, // 无规格商品 skuId 取 collection_id，否则取所选 sku 组合对应的 id
		          none_sku: false, // 是否无规格商品
		          messages: [
		            {
		              // 商品留言
		              datetime: '0', // 留言类型为 time 时，是否含日期。'1' 表示包含
		              multiple: '0', // 留言类型为 text 时，是否多行文本。'1' 表示多行
		              name: '留言', // 留言名称
		              type: 'text', // 留言类型，可选: id_no（身份证）, text, tel, date, time, email
		              required: '1', // 是否必填 '1' 表示必填
		              placeholder: '' // 可选值，占位文本
		            }
		          ],
		          hide_stock: false // 是否隐藏剩余库存
		      },
		      goods: {
		         // 商品标题
		          title: '测试商品',
		          // 默认商品 sku 缩略图
		          picture: 'https://img.yzcdn.cn/1.jpg'
		      },
		      messageConfig: {
		       quotaText: '每次限购xxx件',
		         // 自定义步进器超过限制时的回调
		         handleOverLimit: (data) => {
		           const { action, limitType, quota, quotaUsed } = data;
		       
		           if (action === 'minus') {
		             Toast('至少选择一件商品');
		           } else if (action === 'plus') {
		             // const { LIMIT_TYPE } = Sku.skuConstants;
		             if (limitType === LIMIT_TYPE.QUOTA_LIMIT) {
		               let msg = `单次限购${quota}件`;
		               if (quotaUsed > 0) msg += `，你已购买${quotaUsed}`;
		               Toast(msg);
		             } else {
		               Toast('库存不够了');
		             }
		           }
		         },
		         // 步进器变化的回调
		         handleStepperChange: currentValue => {},
		         // 库存
		         stockNum: 1999,
		         // 格式化库存
		         stockFormatter: stockNum => {},
		      }
		    };
		  },
		computed:{
			...mapState(["detailObj","pid"])
		},
		methods:{
			onBuyClicked(){
				
			},
			onAddCartClicked(){
				
			},
			see(){
				this.show=!this.show
			}
		},
		mounted(){
			this.$store.commit("getpid",{pid:this.$route.params.id})
			this.$store.dispatch("getDetail",{pid:this.$route.params.id})
			// console.log(this.$route.params.id)
		}
	}
	
</script>

<style>
</style>
